﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows;
using System.Windows.Forms;
using System.Xml.Linq;

namespace Tool
{
    /// <summary>
    /// 系统参数设置读取保存
    /// </summary>
 public class SysConfig
    {
        
        
        public static string ConfigPath = AppDomain.CurrentDomain.BaseDirectory + "\\" + "Config" + "\\" + "Config.ini";//参数设置路径

        
        public static Dictionary<string, string> Config = new Dictionary<string, string>();//参数配置

      
        #region 读取Ini数据到DataGridView控件中
        /// <summary>
        /// 读取Ini数据到DataGridView控件中
        /// </summary>
        /// <param name="dgv">控件</param>
        /// <param name="path">路径</param>
        /// <param name="Section">段落名称</param>
        public static void ReadIniToDGV(DataGridView dgv)
        {
            dgv.Rows.Clear();//清除集合

            if (File.Exists(ConfigPath))
            {
                //先得到所有Key键值
                string[] keys = Tool.IniFile.INIGetAllItemKeys(ConfigPath, "Config");//获取所有的Key值
                //遍历所有Key键值
                foreach (string temp in keys)
                {
                    //得到所有的Value值
                    string value = Tool.IniFile.INIGetStringValue(ConfigPath, "Config", temp, " ");//               

                    object[] objects = new object[] { temp, value };//获取 Key键值 Value 
                    //添加到控件
                    if (temp!= "操作员"|| temp != "管理员"|| temp != "开发人员")
                    {
                        dgv.Rows.Add(objects);
                    }


                }
            }
        }

        #endregion

        #region 读取Ini数据到系统中
        /// <summary>
        /// 读取Ini数据加载到系统中
        /// </summary>
        /// <param name="dic">字典集合</param>
        /// <param name="Path">路径</param>
        /// <param name="Section">段落名称</param>
        public static void WriteIniToSystem()
        {
            Config.Clear();//清除集合
            if (File.Exists(ConfigPath))
            {
                //先得到所有Key键值
                string[] keys = Tool.IniFile.INIGetAllItemKeys(ConfigPath, "Config");//获取所有的Key值
                //遍历所有Key键值
                foreach (string temp in keys)
                {
                    //得到所有的Value值
                    string value = Tool.IniFile.INIGetStringValue(ConfigPath, "Config", temp, " ");
                    
                    if (temp != "操作员" && temp != "管理员" && temp != "开发人员")
                    {
                        Config.Add(temp, value);//添加到字典中
                    }

                }
            }
            else
            {
                MessageBox.Show("未找到对应Ini配置文件");
            }
        }

        #endregion

        #region 保存DataGridView数据到INI文件

        public static void WriteDgvToIni(DataGridView dgv)
        {
            //遍历DataGridView的每一行
            foreach (DataGridViewRow pair in dgv.Rows)//再加上
            {
                Tool.IniFile.INIWriteValue(ConfigPath, "Config", pair.Cells[0].Value.ToString(), pair.Cells[1].Value.ToString());
            }
        }





        #endregion






    }
}
